GtkStyleContext: store layout extents for animation purposes.
authorCarlos Garnacho <carlosg@gnome.org>
Wed, 24 Nov 2010 21:57:18 +0000 (22:57 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Sat, 4 Dec 2010 14:39:43 +0000 (15:39 +0100)
gtk/gtkstylecontext.c

index ba72fb7a2767c426fcc01f0618616db0fa94623b..61d3b7b5cdca4f828c4bf54293b778d81c0894fa 100644 (file)
@@ -3252,6 +3252,7 @@ gtk_render_layout (GtkStyleContext *context,
 {
   GtkStyleContextPrivate *priv;
   GtkThemingEngineClass *engine_class;
+  PangoRectangle extents;
 
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
   g_return_if_fail (cr != NULL);
@@ -3259,6 +3260,14 @@ gtk_render_layout (GtkStyleContext *context,
   priv = context->priv;
   engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
 
+  pango_layout_get_extents (layout, &extents, NULL);
+
+  store_animation_region (context,
+                          x + extents.x,
+                          y + extents.y,
+                          extents.width,
+                          extents.height);
+
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_layout (priv->theming_engine, cr, x, y, layout);
 }